<!doctype html>
<!--xmlns:th   表示使用什么的模板引擎，这里是 thymeleaf 引擎, th 是别名-->
<html lang="en" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.rog/extras/spring-security">
<head>
	<meta charset="utf-8">

	<!--访问该页面的时候，在此处生成 CSRF 令牌-->
	<!--<meta name="_csrf" th:content="${_cscrf.token}">-->
	<!--<meta name="_csrf_header" th:content="${_csrf.headerName}">-->

<!--	前面这几个都是写死的路径数据-->
	<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
	<link rel="icon" href="https://static.nowcoder.com/images/logo_87_87.png"/>
	<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" crossorigin="anonymous">
<!--	这里是动态查找的数据资源，通过 thymeleaf 模板引擎进行动态的搜索，（一般是 static）
		固定格式    th:href="@{/加上 static 的资源路径，比如 js，css等等}"
-->
	<link rel="stylesheet" th:href="@{/css/global.css}" />
	<title>牛客网-首页</title>
</head>

<body>

	<div class="nk-container">
		<!-- 头部 -->
		<!--fragment 标签。 thymeleaf 的复用的功能，可以给其他的页面按照这个 模块的格式进行覆盖-->
		<header class="bg-dark sticky-top" th:fragment="header">
			<div class="container">
				<!-- 导航 -->
				<nav class="navbar navbar-expand-lg navbar-dark">
					<!-- logo -->
					<a class="navbar-brand" href="#"></a>
					<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
						<span class="navbar-toggler-icon"></span>
					</button>
					<!-- 功能 -->
					<div class="collapse navbar-collapse" id="navbarSupportedContent">
						<ul class="navbar-nav mr-auto">
							<li class="nav-item ml-3 btn-group-vertical">
								<!--用的是 controller 里面的路径，动态拼接，localhost8080/community/index-->
								<a class="nav-link" th:href="@{/index}">首页</a>
							</li>
							<!--判断，用户登录了就显示消息了-->
							<li class="nav-item ml-3 btn-group-vertical" th:if="${loginUser!=null}">
								<a class="nav-link position-relative" th:href="@{/letter/list}">消息<span class="badge badge-danger" th:text="${allUnreadCount!=0?allUnreadCount:''}">12</span></a>
							</li>
							<li class="nav-item ml-3 btn-group-vertical" th:if="${loginUser!=null}">
								<a class="nav-link position-relative" th:href="@{/data}" sec:authorize="hasAnyAuthority('admin')">网站数据</a>
							</li>
							<!--判断，用户没登录了就显示注册了-->
							<li class="nav-item ml-3 btn-group-vertical" th:if="${loginUser==null}">
								<!--用的是 controller 里面的路径，动态拼接，localhost8080/community/register,请求是 get 方式-->
								<a class="nav-link" th:href="@{/register}">注册</a>
							</li>
							<!--判断，用户没登录了就显示登录了-->
							<li class="nav-item ml-3 btn-group-vertical" th:if="${loginUser==null}">
								<a class="nav-link" th:href="@{/login}">登录</a>
							</li>
							<li class="nav-item ml-3 btn-group-vertical dropdown">
								<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
									<!--src头像的访问路径   localhost:8080/community/user/header/xxx.png，所以这里会请求 controller 中的下载图片的方法-->
									<img th:src="${loginUser!=null?loginUser.headerUrl:''}" class="rounded-circle" style="width:30px;"/>
								</a>
								<div class="dropdown-menu" aria-labelledby="navbarDropdown">
									<!--这里需要进行判断，因为假如用户没有登录的话， loginUser 是 null，不能直接取字段id，不然会报错-->
									<a class="dropdown-item text-center" th:href="@{|/user/profile/${loginUser!=null?loginUser.id:'null'}|}">个人主页</a>									<a class="dropdown-item text-center" th:href="@{/user/setting}">账号设置</a>
									<a class="dropdown-item text-center" th:href="@{/logout}">退出登录</a>
									<div class="dropdown-divider"></div>
									<!--这里拦截器获取的是null（没有登陆的时候），user = null 的话是不可以进行获取到属性字段的，会报错-->
									<span class="dropdown-item text-center text-secondary" th:text="${loginUser!=null?loginUser.username:''}">nowcoder</span>
								</div>
							</li>
						</ul>
						<!-- 搜索 -->
						<form class="form-inline my-2 my-lg-0" th:action="@{/search}" method="get">
							<!--name 属性就是，get请求的时候会进行拼接路径-->
							<!--比如这里 xxx/search?keyword(就是name的值)=xxx(value,输入的值)-->
							<input class="form-control mr-sm-2" type="search" aria-label="Search" name="keyword" th:value="${keyword}"/>
							<button class="btn btn-outline-light my-2 my-sm-0" type="submit">搜索</button>
						</form>
					</div>
				</nav>
			</div>
		</header>

		<!-- 内容 -->
		<div class="main">
			<div class="container">
				<div class="position-relative">
					<!-- 筛选条件 -->
					<ul class="nav nav-tabs mb-3">
						<li class="nav-item">
							<!--active 就是按钮点击的时候显示切换（样式）-->
							<a th:class="|nav-link ${orderMode==0?'active':''}|" th:href="@{/index(orderMode=0)}">最新</a>
						</li>
						<li class="nav-item">
							<a th:class="|nav-link ${orderMode==1?'active':''}|" th:href="@{/index(orderMode=1)}">最热</a>
						</li>
					</ul>
					<button type="button" class="btn btn-primary btn-sm position-absolute rt-0" data-toggle="modal" data-target="#publishModal" th:if="${loginUser!=null}">我要发布</button>
				</div>
				<!-- 弹出框 -->
				<div class="modal fade" id="publishModal" tabindex="-1" role="dialog" aria-labelledby="publishModalLabel" aria-hidden="true">
					<div class="modal-dialog modal-lg" role="document">
						<div class="modal-content">
							<div class="modal-header">
								<h5 class="modal-title" id="publishModalLabel">新帖发布</h5>
								<button type="button" class="close" data-dismiss="modal" aria-label="Close">
									<span aria-hidden="true">&times;</span>
								</button>
							</div>
							<div class="modal-body">
								<form>
									<div class="form-group">
										<!--for 属性，可以通过 js 的方式进行获取值-->
										<label for="recipient-name" class="col-form-label">标题：</label>
										<input type="text" class="form-control" id="recipient-name">
									</div>
									<div class="form-group">
										<!--for 属性，可以通过 js 的方式进行获取值-->
										<label for="message-text" class="col-form-label">正文：</label>
										<textarea class="form-control" id="message-text" rows="15"></textarea>
									</div>
								</form>
							</div>
							<div class="modal-footer">
								<button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
								<!--这个发布的 id 绑定了 js 属性的方法调用，位于 index.js 文件中，进行异步请求-->
								<button type="button" class="btn btn-primary" id="publishBtn">发布</button>
							</div>
						</div>
					</div>
				</div>
				<!-- 提示框 -->
				<div class="modal fade" id="hintModal" tabindex="-1" role="dialog" aria-labelledby="hintModalLabel" aria-hidden="true">
					<div class="modal-dialog modal-lg" role="document">
						<div class="modal-content">
							<div class="modal-header">
								<h5 class="modal-title" id="hintModalLabel">提示</h5>
							</div>
							<div class="modal-body" id="hintBody">
								发布完毕!
							</div>
						</div>
					</div>
				</div>
				
				<!-- 帖子列表 -->
				<ul class="list-unstyled">
					<!-- 这里的 th:each 表示使用 thymeleaf 引擎的 foreach 进行循环遍历
					 	${discussPosts} 获取的是 MVC 中的 model 数据（在controller中封装），返回到 view 层 ,存放 user 和 post 的数据，类似 dto
					 	map 是变量，用来存储遍历出来的结果，类似 增强 for的格式
					 -->
					<li class="media pb-3 pt-3 mb-3 border-bottom" th:each="map:${discussPosts}">
						<!--点击用户的头像，进行查看用户的 详情个人主页-->
						<!--这是发帖子的人的头像，下面还有 评论人，回复的头像的路径，可以自己去修改-->
						<a th:href="@{|/user/profile/${map.user.id}|}">
							<!--死数据-->
							<!--<img src="http://images/nowcoder.com/head/1t.png" class="mr-4 rounded-circle" alt="用户头像" style="width:50px;height:50px;">-->
							<!--通过 thymeleaf 获取动态数据，user 是 discussPosts 中的 key，存贮 地址
								这个 headerUrl 是 User 实体类的一个字段，存贮 地址信息，http://images/nowcoder.com/head/1t.png
							-->
							<img th:src="${map.user.headerUrl}" class="mr-4 rounded-circle" alt="用户头像" style="width:50px;height:50px;">
						</a>
						<div class="media-body">
							<h6 class="mt-0 mb-3">
<!--							th:text 和 th:text  都差不多，只是后者可以识别 转义字符	  -->
								<a th:href="@{|/discuss/detail/${map.post.id}|}" th:utext="${map.post.title}">备战春招，面试刷题跟他复习，一个月全搞定！</a>
								<span class="badge badge-secondary bg-primary" th:if="${map.post.type==1}">置顶</span>
								<span class="badge badge-secondary bg-danger" th:if="${map.post.status==1}">精华</span>
							</h6>
							<div class="text-muted font-size-12">
								<u class="mr-3" th:utext="${map.user.username}">寒江雪</u> 发布于 <b th:text="${#dates.format(map.post.createTime,'yyyy-MM-dd HH:mm:ss')}">2019-04-15 15:32:18</b>
								<ul class="d-inline float-right">
									<li class="d-inline ml-2">赞 <span th:text="${map.likeCount}">11</span></li>
									<li class="d-inline ml-2">|</li>
									<li class="d-inline ml-2">回帖 <span th:text="${map.post.commentCount}">7</span></li>
								</ul>
							</div>
						</div>						
					</li>
				</ul>
				 <!--分页-->
				<nav class="mt-5" th:if="${page.rows>0}" th:fragment="pagination">
					<ul class="pagination justify-content-center">
						<li class="page-item">
							<!--动态路径，相当于 /index？current=1&limit=默认值-->
							<a class="page-link" th:href="@{${page.path}(current=1)}">首页</a>
						</li>
						<!--thymeleaf引擎模板，  || 表示中间有静态的资源进行拼接动态的-->
						<!--三木运算符，如果当前页为1，就不显示上一页（不可点击）-->
						<li th:class="|page-item ${page.current==1?'disabled':''}|">
							<a class="page-link" th:href="@{${page.path}(current=${page.current-1})}">上一页</a>
						</li>
						<!--拼接静态和动态的资源路径，如果 i 是当前页，就显示高亮 active-->
						<li th:class="|page-item ${i==page.current?'active':''}|" th:each="i:${#numbers.sequence(page.from,page.to)}">
							<a class="page-link" th:href="@{${page.path}(current=${i})}" th:text="${i}">1</a>
						</li>
						<!--三木运算符，如果当前页为尾页，就不显示下一页（不可点击）-->
						<li th:class="|page-item ${page.current==page.total?'disabled':''}|">
							<a class="page-link" th:href="@{${page.path}(current=${page.current+1})}">下一页</a>
						</li>
						<li class="page-item">
							<a class="page-link" th:href="@{${page.path}(current=${page.total})}">末页</a>
						</li>
					</ul>
				</nav>
			</div>
		</div>

		<!-- 尾部 -->
		<footer class="bg-dark">
			<div class="container">
				<div class="row">
					<!-- 二维码 -->
					<div class="col-4 qrcode">
						<img src="https://uploadfiles.nowcoder.com/app/app_download.png" class="img-thumbnail" style="width:136px;" />
					</div>
					<!-- 公司信息 -->
					<div class="col-8 detail-info">
						<div class="row">
							<div class="col">
								<ul class="nav">
									<li class="nav-item">
										<a class="nav-link text-light" href="#">关于我们</a>
									</li>
									<li class="nav-item">
										<a class="nav-link text-light" href="#">加入我们</a>
									</li>
									<li class="nav-item">
										<a class="nav-link text-light" href="#">意见反馈</a>
									</li>
									<li class="nav-item">
										<a class="nav-link text-light" href="#">企业服务</a>
									</li>
									<li class="nav-item">
										<a class="nav-link text-light" href="#">联系我们</a>
									</li>
									<li class="nav-item">
										<a class="nav-link text-light" href="#">免责声明</a>
									</li>
									<li class="nav-item">
										<a class="nav-link text-light" href="#">友情链接</a>
									</li>
								</ul>
							</div>
						</div>
						<div class="row">
							<div class="col">
								<ul class="nav btn-group-vertical company-info">
									<li class="nav-item text-white-50">
										公司地址：北京市朝阳区大屯路东金泉时代3-2708北京牛客科技有限公司
									</li>
									<li class="nav-item text-white-50">
										联系方式：010-60728802(电话)&nbsp;&nbsp;&nbsp;&nbsp;admin@nowcoder.com
									</li>
									<li class="nav-item text-white-50">
										牛客科技©2018 All rights reserved
									</li>
									<li class="nav-item text-white-50">
										京ICP备14055008号-4 &nbsp;&nbsp;&nbsp;&nbsp;
										<img src="http://static.nowcoder.com/company/images/res/ghs.png" style="width:18px;" />
										京公网安备 11010502036488号
									</li>
								</ul>
							</div>
						</div>
					</div>
				</div>
			</div>
		</footer>
	</div>

	<script src="https://code.jquery.com/jquery-3.3.1.min.js" crossorigin="anonymous"></script>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" crossorigin="anonymous"></script>
	<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" crossorigin="anonymous"></script>
	<script th:src="@{/js/global.js}"></script>
	<script th:src="@{/js/index.js}"></script>
</body>
</html>
